安全研究人员成功破解 gnupg 密码库 1024 位 rsa 加密
2017-07-06 10:01:02
外媒近日报道,安全研究人员在 密码库中发现一个重要漏洞, 能够让人完全破解 rsa-1024 并成功提取用于解密数据的 rsa 密钥。
gnu 隐私保护( gnupg 或 gpg )是一项颇受欢迎的开源加密软件,广泛应用于 linuux、freebsd、windows、macos x 等操作系统。前 nsa 合同制人员、泄密者爱德华 • 斯诺登当初就是使用这款软件保护自身通信远离执法部门监控。
调查显示,漏洞 cve-2017-7526 存在于 gnupg 采用的 libgcrypt 密码库,易使系统遭受本地 flush reload 边信道攻击。来自埃因霍温技术大学、伊利诺伊大学、宾夕法尼亚大学、马里兰大学以及阿德莱德大学的研究人员发现,libgcrypt 库在执行密码学数学运算时使用的 “ 从左至右滑动窗口 ” 方法比 “ 从右至左 ” 泄露更多的指数位信息,允许黑客进行完整的 rsa 密钥恢复。其中,论文提供如下描述:
“ 介绍了 libgcrypt 密码库 rsa 1024 的完整破解方法。我们的攻击充分利用了 libgcrypt 采用 “ 从左至右 ” 方法计算滑动窗口扩展的事实。从左至右滑动窗口方法中的平方与乘法计算会比 ‘ 从右至左 ’ 模式泄露更多的指数信息。我们展示了如何通过扩展 heninger-shacham 算法进行部分密钥重建,实现对信息的有效利用并获取 rsa-1024 完整密钥恢复。”
此外,l3 缓存边信道攻击要求黑客在使用 rsa 私钥的硬件上运行任意软件。这种攻击方式允许黑客通过分析加密过程中的内存利用方式或设备电磁输出从系统中提取加密密钥。libgcrypt 咨询顾问表示,具体实践中存在比边信道攻击更便捷的访问方式。但对于装有虚拟机的设备而言,黑客可通过一台虚拟机从另一台虚拟机窃取私钥。研究人员还提供了边信道攻击可破解 rsa-2048 的证据,后者较 rsa-1024 要求更多运算。
目前,libgraypt 已发布 libgcrypt 1.7.8 版本漏洞修复补丁。debian 与 ubuntu 已通过 libgcrypt 最新版本更新密码库。综上所述,安全专家强烈建议用户检测现有 linux 发行版是否正在运行最新版本的 libgcrypt 库。